use crate::core::entity::jump_url::JumpUrl;
use crate::core::entity::resource_url::ResourceUrl;
use crate::core::model::resource_version_entry::ResourceVersionEntry;
use serde::Deserialize;
use share::core::channel::Channel;
use share::core::native_version::NativeVersion;

#[derive(Deserialize)]
pub struct PostChannelSettingRequest {
    pub channel: Channel,
    pub latest_native_version: NativeVersion,
    pub min_native_version: NativeVersion,
    pub jump_url: JumpUrl,
    pub resource_version: ResourceVersionEntry,
    pub resource_url: ResourceUrl,
}

#[derive(Deserialize)]
pub struct PutNativeVersionRequest {
    pub channel: Channel,
    pub latest_native_version: NativeVersion,
    pub min_native_version: NativeVersion,
}

#[derive(Deserialize)]
pub struct PutJumpUrlRequest {
    pub channel: Channel,
    pub jump_url: JumpUrl,
}
